import numpy as np
import matplotlib.pyplot as plt

# 1.用 numpy 创建一个 2 * 2 的二维数组 ndarray，指定元素类型为 float，命名为 arr1
arr1 = np.array([(1.5,2.7),(4.5,6.6)],dtype=float)
print(arr1)

# 2.生成元素全为 0 的 6 * 6 矩阵 arr2；
# 元素全为 1 的 6 * 6 矩阵 arr3；
# 以及 6 * 6 的单位矩阵 arr4（任务提示：单位矩阵对角线元素为 1）
arr2 = np.zeros((6,6))
#print(arr2)
arr3 = np.ones((6,6))
#print(arr3)
arr4 = np.eye(6)
#print(arr4)

# 3.运用 arange 函数生成生成 [0, 10) 区间内，步长为 2 的整数序列 arr5
arr5 = np.arange(0,10,2)
#print(arr5)

# 4.生成 0~10 间的等差数列 arr6，元素个数为 6（任务提示：等差数列函数为 linspace
arr6 = np.linspace(1,10,6)
#print(arr6)
# 5.创建一个长度为 10 的随机数组（每个元素都是整数）并将最大值替换为 0
# 任务提示：numpy随机函数为 random，利用 argmax() 得到数组最大值的位置，然后再将此位置数字利用切片替换
arr7 = np.random.randint(1,100,10)
#print(arr7)
p = arr7.argmax()
#print(p)
arr7[p] = 0
#print(arr7)
'''
a = np.array([[1, 5, 5, 2],
              [9, 6, 2, 8],
              [3, 7, 9, 1]])
print(np.argmax(a, axis=0))
print(np.argmax(a, axis=1))

a = np.array([
              [
                  [1, 5, 5, 2],
                  [9, -6, 2, 8],
                  [-3, 7, -9, 1]
              ],
 
              [
                  [-1, 5, -5, 2],
                  [9, 6, 2, 8],
                  [3, 7, 9, 1]
              ]
            ])
print(np.argmax(a, axis=0))
print(np.argmax(a, axis=1))
'''
# 6.计算数组 x = np.array([1,2,3,2,3,4,3,4,5,6]) 
# 和数组 y = np.array([7,2,10,2,7,4,9,4,9,8]) 之间的欧式距离
x= np.array([1,2,3,2,3,4,3,4,5,6])
y = np.array([7,2,10,2,7,4,9,4,9,8]) 
dist = np.sqrt(np.sum(np.square(x-y)))
#print(dist)
dist1 = np.linalg.norm(x-y)
#print(dist1)

#7.利用 seed 生成一组固定的随机数 np.random.seed(1) ，
# 并用此组成模拟的资金价值曲线 values = np.random.randn(1000).cumsum()
# 请利用 matplotlib 作出该资金价值曲线图
s=np.random.seed(1)

values = np.random.randn(1000).cumsum(s)
plt.title('资金价值曲线图')
plt.plot(values,color='blue')
plt.show()

max_drawdown = np.max(np.maximum.accumulate(values) - values)
print(max_drawdown)